/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.msk.wlhy.mapper;


import com.msk.sys.mapper.CrudDao;
import com.msk.wlhy.domain.HtCarFiles;
import com.msk.wlhy.domain.HtDriverFile;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 车辆档案维护DAO接口
 * @author zkp
 * @version 2018-06-06
 */
@Repository
public interface HtCarFilesDao extends CrudDao<HtCarFiles> {
	public Long findCount(HtCarFiles htCarFiles);
	public List<HtCarFiles> findListByTransportDetailId(HtCarFiles htCarFiles) ;
	/**
	 * @description findEntityByCarNumber
	 * @date 2018-6-19
	 * @author chuming
	 * @param carNumber
	 * @return
	 */
	public HtCarFiles findEntityByCarNumber(String carNumber);
	/**
	 * @description findListByStatus
	 * @date 2018-6-20
	 * @author chuming
	 * @param htCarFiles
	 * @return
	 */
	public List<HtCarFiles> findListByStatus(HtCarFiles htCarFiles);
	/**
	 * 查询异常的数据
	 * @description findNowList
	 * @date 2018-6-20
	 * @author chuming
	 * @return
	 */
	public List<HtCarFiles> findUnusualList();
	/**
	 * 查询未分组数据
	 * @description findListAll
	 * @date 2018-6-20
	 * @author chuming
	 * @return
	 */
	public List<HtCarFiles> findListAll(HtCarFiles htCarFiles);
	/**
	 * 根据司机手机号获取当前司司机可以查看那些部门的货物数据
	 * @description getOfficeIdsByPhone
	 * @date 2018-7-23
	 * @author chuming
	 * @param phone
	 * @return
	 */
	public Map<String, String> getOfficeIdsByPhone(String phone);
	/**
	 * 根据司机手机号获取当前部门的车辆信息
	 * @description getOfficeIdsByPhone
	 * @date 2018-7-23
	 * @author chuming
	 * @return
	 */
	public HtCarFiles getCarFilesByPhone(HtCarFiles htCarFiles);
	/**
	 * 获取车辆信息
	 * @description selectCarCountGroupbyMonth
	 * @date 2018-8-9
	 * @author chuming
	 * @return
	 */
	public List<Map<String, Object>> selectCarCountGroupbyMonth(Integer xs1);

	/**
	 * 获取各个部门车辆数量
	 * @description selectDeptOrderBy
	 * @date 2018-8-9
	 * @author chuming
	 * @return
	 */
	public List<Map<String, Object>> selectDeptOrderBy();
	/**
	 * 获取各个部门车辆数量
	 * @description findCarNumberByOfficeAndDay
	 * @date 2018-10-25
	 * @author chuming
	 * @return
	 */
	public List<Map<String, Object>> findCarNumberByOfficeAndDay(HtCarFiles htCarFiles);

	/**
	 * 获取所有的车辆数量
	 * @description findCarNumberByDay
	 * @date 2018-10-25
	 * @author chuming
	 * @return
	 */
	public List<Map<String, Object>> findAllCarNumberByDay(HtCarFiles htCarFiles);

	/**
	 * @description selectCarCountGroupbyDay
	 * @date 2018-10-23
	 * @author chuming
	 * @param xs1
	 * @return
	 */
	public List<Map<String, Object>> selectCarCountGroupbyDay(Integer xs1);

	/**
	 * @description getHtDriverFile
	 * @date 2019-01-16
	 * @author chuming
	 * @param id
	 * @return
	 */
	public List<HtCarFiles> getHtCarFiles(String id);

	/**
	 * @description findDriverCarId
	 * @date 2019-01-16
	 * @author chuming
	 * @param id
	 * @return
	 */
	public Map<String,Object> findDriverCarId(String id);

	/**
	 * @description getRegister
	 * @date 2019-01-16
	 * @author chuming
	 * @param id
	 * @return
	 */
	public Map<String,Object> getRegister(String id);

	/**
	 * @description findAppId
	 * @date 2019-01-16
	 * @author chuming
	 * @param id
	 * @return
	 */
	public Map<String,Object> findAppId(String id);

	/**
	 * 更新车辆数据
	 * @param htCarFiles
	 * @return
	 */
	public int updateInfo(HtCarFiles htCarFiles);

	public List<Map<String,Object>> findListByTransportStauts(HtCarFiles htCarFiles);

	/**
	 * 根据注册司机ID获取车辆信息
	 * @param driverId
	 * @return
	 */
	public HtCarFiles findCarFilesByDriverId(String driverId);
	
	/**
	 * @author llh
	 * @date 2023/6/6
	 * @return com.msk.wlhy.domain.HtCarFiles
	 * @description 根据司机ID获取车辆信息      
	 */
	public HtCarFiles getCarByDriverId(HtCarFiles htCarFiles);
}